Все курсы
Курс PNLP «NLP с Python»
Код курса | Даты начала курса | Стоимость обучения | Длительность обучения | Формат обучения |
---|---|---|---|---|
PNLP | 24 февраля 2025 30 июня 2025 |
90 000 руб. | 40 ак.часов | Дистанционный |
Регистрация |
10-дневный практический курс для Data Scientist’ов, специалистов по машинному обучению и Python-разработчиков NLP-приложений, которые хотят освоить продвинутые методы решения задач обработки естественного языка с помощью нейронных сетей.
Что такое NLP и при чем здесь машинное обучение
NLP (Natural Language Processing, NLP) или обработка естественного языка — это целое направление искусственного интеллекта и математической лингвистики, направленное на анализ (компьютерное понимание) текста и речи, а также их грамотный синтез (генерацию нового). NLP-технологии нужны не только для распознавания живого языка средствами искусственного интеллекта. Они дают возможность адекватного взаимодействия человека с вычислительными системами.
Классическими NLP-задачами считаются следующие:
- определение эмоциональной окраски (тональности) текста,
- вопросно-ответные системы,
- классификация текстов,
- построение выводов по тексту;
- распознавание речи;
- анализ текста, включая извлечение данных, информационный поиск и анализ высказываний;
- генерация текстов;
- синтез речи;
- машинный перевод;
- автоматическое реферирование, аннотирование и упрощение текстовой информации.
Сегодня большинство этих задач решается с помощью современных методов Machine Learning — нейросетевых алгоритмов, которые обладают свойством самообучаемости и способны решать проблемы в условиях неполноты и изменчивости входной информации.
КАК ПОСТРОЕН ОБРАЗОВАТЕЛЬНЫЙ КУРС
по обработке естественного языка в Python
Продолжительность: 10 дней, 40 академических часов.
Соотношение теории к практике 50/50
Курс «NLP с Python» представляет собой прикладные основы обработки естественного языка с помощью Machine Learning, включая всю необходимую теорию и практику по этой области искусственного интеллекта. В программе рассмотрены операции преобразования текстовых данных для дальнейшей обработки нейросетевыми алгоритмами: стемминг, лемматизация, векторизация. Приведены базовые NLP-задачи, которые могут быть решены с помощью методов машинного обучения: классификация и распознавание текстов, анализ звуковой информации. Большое внимание уделено практическому решению задач с использованием методов машинного обучения на языке Python с применением самых передовых нейросетей: BERT, GPT-2. Также курс «NLP с Python» включает изучение особенностей промышленной разработки Data Science решений и их эффективного развертывания в production: фреймворки Flask, Flacon, Django, технологии контейнеризации с помощью Docker, специализированные облачные сервисы.
На практике вы самостоятельно создадите, обработаете и проанализируете тексты и звуковые сигналы, а также создадите собственный production-сервис для решения NLP-задач. В результате освоения программы курса вы овладеете не только основными навыками Machine Learning, необходимыми для обработки естественного языка, но и освоите популярные фреймворки и технологии для промышленного развертывания Data Science решений.
Успешно окончив курс “NLP с Python” в нашем лицензированном учебном центре, вы получите сертификат о повышении квалификации установленного образца.
Требования к предварительному уровню подготовки слушателей:
- основы python;
- основы линейной алгебры;
- основы математической статистики.
Программа курса "NLP с Python"
Модуль 1. Введение в NLP
Теоретическая часть: основные понятия; классификация задач, решаемых с помощью методов NLP, стандартный pipeline обработки текстовых данных (очистка, стемминг, лемматизация, классические представления текстовых данных: Bow, Tf-Idf). Обзор алгоритмов стемминга и лемматизации. Популярные библиотеки для работы с текстовыми данными (nltk, spacy, gensim, TextBlob).
Практическая часть: первичный анализ текстовых данных, предобработка текстовых данных, построение простейшей модели бинарной классификации на примере задачи определения спама в смс сообщениях.
Домашняя работа: улучшение простейшей модели классификации. Использование различных подходов к обработке текстовых данных и различных моделей машинного обучения.
Модуль 2. Embeddings
Теоретическая часть: векторные представления слов/текста. Алгоритмы обучения векторных представлений: word2vec, Glove. Векторные представления текста: doc2vec. Embedding своими руками с помощью SVD разложения. Предобученные векторные представления для английского и русского языка.
Практическая часть: обучение векторного представления слов и его использование в задаче множественной классификации на примере датасета 20 News groups.
Домашняя работа: улучшение результатов работы построенной модели с использованием предобученных векторных представлений.
Модуль 3. Применение свёрточных нейронных сетей в NLP
Теоретическая часть: сверточные нейронные сети, параметры сверточных нейронных сетей, параметры обучения сверточных нейронных сетей, архитектура сверточных нейронных сетей в NLP. Ответ на вопроc когда использовать сверточные сети, а когда классические модели машинного обучения в NLP.
Практическая часть: использование сверточных нейронных сетей на примере задачи классификации твитов (датасет Рубцовой).
Домашняя работа: улучшение качества работы построенной модели.
Модуль 4. Рекуррентные нейронные сети
Теоретическая часть: архитектура RNN, CRNN, LSTM, GRU. Нейронные сети с attention. Задачи класса sequence to sequence. Машинный перевод. Архитектура нейронных сетей для машинного перевода.
Практическая часть: пишем нейронную сеть для машинного перевода “from scratch”.
Домашняя работа: тюнинг нейронной сети/обучение своей нейронной сети на другой паре языков.
Модуль 5. Работа со звуковой информацией
Теоретическая часть: физическая природа звука, оцифровка звукового сигнала. Виды цифровых представлений звукового сигнала (ряды, изображения). Speech to text / text to speech, подходы к решению. SOTA нейронные сети для Speech to text.
Практическая часть: пишем рекуррентную нейронную сеть классификации музыкальных жанров (речевых команд).
Домашняя работа: обучить сверточную нейронную сеть на представлениях звуковых сигналов в виде изображения на датасете с речевыми командами.
Модуль 6. SOTA нейронные сети в NLP
Теоретическая часть: предобученные нейронные сети в NLP, обзор архитектур нейронных сетей Bert и GPT-2. Режимы работы Bert и GPT-2. Использование Bert в задаче определения близких по смыслу текстов.
Практическая часть: решение задачи определения близких по смыслу текстов. Использование подхода без учителя. Использование Bert.
Домашняя работа: решение задачи с помощью GPT-2.
Модуль 7. Key word extraction / text summarization
Теоретическая часть: подходы к решению задач key word extraction, text summarization. Алгоритм PageRank. Архитектуры нейронных сетей для задач key word extraction и text summarization
Практическая часть: пишем нейронную сеть для key word extraction.
Домашняя работа: пишем нейронную сеть для text summarization.
Модуль 8. Named Entity Recognition
Теоретическая часть: подходы к решению задач NER. Condition Random Fields. Нейронные сети для решения задачи NER.
Практическая часть: решаем NER c помощью CRF.
Домашняя работа: пишем нейронную сеть для NER.
Модуль 9. Использование нейронных сетей в production
Теоретическая часть: сериализация/десериализация объектов в Python, фреймворки Flask, Flacon, Django. Контейнеризация, Docker. Использование сервиса с нейронной сетью в облаке, AWS. Специализированные серверы для использования нейронных сетей (tensorflow serving, torchServe)
Практическая часть: создание API с нейронной сетью с использованием специализированных серверов.
Домашняя работа: создание API с несколькими нейронными сетями.
Дополнительные разделы:
- VAE (variational autoencoders) for NLP
- text semantic segmentation
- natural language inference
- text generation
Кто проводит курс
Конорев Олег
Академия Федеральной службы безопасности Российской Федерации (Москва, 2012)
Профессиональные компетенции:
- Руководитель группы Data Science в НИИ “Квант”, Москва
- Computer vision (CV) – решение задач по классификации и детектировании объектов на фото и видео, идентификации человека, сегментации изображений и распознаванию текста с библиотеками OpenCV, Tensorflow API и архитектурами нейронных сетей Yolo, SSD, fRCNN, U-net и пр.
- Natural language processing (NLP) – решение задач по классификации текстов, извлечению именованных сущностей (NER) и ключевых слов с библиотеками gensim, nltk, fasttext, spacy и др. Построение различных архитектур на основе искусственных нейронных сетей с использованием различных представлений слов (Embedding, Word2Vec) и готовых нейросетевых решений (Bert, fastai)
- Time series analysis – решение задач обработки, анализа и классификации аудио сигналов с библиотеками librosa, ffmpeg и различных архитектур нейронных сетей, а также предсказание значений временных рядов (time series forecasting) в приложении к котировкам активов с использованием классических решений (ARMA, ARIMA) и моделей на базе сверточных нейронных сетей (CNN), рекуррентных нейронных сетей (LSTM,GRU) и их комбинаций.
- Проекты сегментации сигналов с различных датчиков и приборов и распознавания речи (speech-to-text) с облачными сервисами Yandex и Google.
Ермилов Дмитрий
Академия Федеральной службы безопасности Российской Федерации (Москва, 2012)
Профессиональные компетенции:
- Ведущий Data Scientist в ФГУП “Центр информационных технологий”, Москва
- Руководитель программ в Университете искусственного интеллекта, Москва.
- Кандидат наук (2017 год, Московский государственный университет им. М.В. Ломоносова, Москва)